<template>
	<view>
		<Header :isBack="true">
			<block slot="content">{{title}}</block>
		</Header>

		<view class="order-title-box">
			<view class="order-title">
				<view class="order-title-item" :class="{ active : active1 }" @tap="version('0')">
					<text>全部</text>
				</view>
				<view class="order-title-item" :class="{ active : active2 }" @tap="version('10')">
					<text>已到岗</text>
				</view>
				<view class="order-title-item" :class="{ active : active3 }" @tap="version('20')">
					<text>工作中</text>
				</view>
				<view class="order-title-item" :class="{ active : active4 }" @tap="version('30')">
					<text>已完成</text>
				</view>
				<!-- <view class="order-title-item" :class="{ active : active5 }" @tap="version('40')">
					<text>已结算</text>
				</view> -->
			</view>
		</view>


		<!-- 空白页 -->
		<empty v-if="isLoaded === false" :top="182"></empty>

		<view class="" v-show="isLoaded">
			<view class="list" v-if="jobData.length > 0">
				<view class="list-item" v-for="item in jobData" :key="item.id">
					<view class="img-wrapper" @tap="checkDetail(item.id,item.job_title)">

						<view class="img-wrapper-header">
							<image class="pic" :src="item.logo">
							</image>
							<view class="img-wrapper-center">
								<text>{{item.job_title}}</text>
								<image class="img-wrapper-center-button" src="@/static/images/rijie.png" alt="">
								</image>

							</view>
							<text class="img-wrapper-right">{{item.salary}}元/天</text>
						</view>


						<text class="introduce">
							{{item.description}}
						</text>
					</view>
					<view class="bot" style="border-bottom: 1px solid #f3f3f6;">
						<text class="bot-text">{{item.updatetime}}</text>
						<view class="bot-img-text">
							<image class="bot-img" src="@/static/images/place.png"></image>
							<text class="bot-text">{{item.location}}</text>
						</view>
					</view>

					<view class="bot1" v-if="item.job_status == '10'">
						<text class="bot-text1" style="color:#ff8a00">工作尚未开始</text>
					</view>
					<view class="bot1" v-else-if="item.job_status == '20'">
						<text class="bot-text1" style="color:#0042ff">工作进行中</text>
					</view>
					<view class="bot1" v-else-if="item.job_status == '30'">
						<text class="bot-text1" style="color:#ff0006">工作已完成</text>
					</view>
					<!-- <view class="bot1" v-else-if="item.job_status == '40'">
						<text class="bot-text1" style="color:#05924e">该工程已结算</text>
					</view> -->
				</view>
			</view>

			<view class="empty" v-else>
				<image src="/static/images/zanwushuju.png" alt="" class="empty-img"></image>
			</view>

		</view>

		<!-- 底部菜单 -->
		<BottomTabbar :selected="3"></BottomTabbar>
	</view>

</template>

<script>
	import BottomTabbar from '@/components/bottom-tabbar/bottom-tabbar.vue';
	import empty from "@/components/empty";
	export default {
		data() {
			return {
				title: '',
				// menuTop: '196',

				loadingText: "正在加载...",
				defaultSelected: [],

				jobData: [],
				page: 1,
				isLoaded: false,

				active1: true,
				active2: false,
				active3: false,
				active4: false,
				active5: false,

				status: 0,

				isShowMsg: true,
			}
		},

		components: {
			BottomTabbar,
			empty
		},

		// 页面生命周期，下拉刷新后触发
		onPullDownRefresh() {
			//判断是否登录
			let result = this.$api.isLogin();
			if (result === false) {
				return false;
			}
			this.loadData()

			// 停止下拉刷新
			setTimeout(function() {
				uni.stopPullDownRefresh()
			}, 600)
		},

		//下拉到底获取新的数据
		onReachBottom() {
			this.getNewJobs();
		},

		onLoad: function(option) {
			//判断是否登录
			let result = this.$api.isLogin();
			if (result === false) {
				return false;
			}

			this.status = option.status;
			switch (option.status) {
				case '0':
					this.active1 = true;
					this.active2 = false;
					this.active3 = false;
					this.active4 = false;
					this.active5 = false;
					break;
				case '10':
					this.active1 = false;
					this.active2 = true;
					this.active3 = false;
					this.active4 = false;
					this.active5 = false;
					break;
				case '20':
					this.active1 = false;
					this.active2 = false;
					this.active3 = true;
					this.active4 = false;
					this.active5 = false;
					break;
				case '30':
					this.active1 = false;
					this.active2 = false;
					this.active3 = false;
					this.active4 = true;
					this.active5 = false;
					break;
					// case '40':
					// 	this.active1 = false;
					// 	this.active2 = false;
					// 	this.active3 = false;
					// 	this.active4 = false;
					// 	this.active5 = true;
					// 	break;
			}

			uni.showLoading({
				title: '加载中...'
			});
			this.title = decodeURI(option.title);
			this.loadData();
			setTimeout(() => {
				this.isLoaded = true;
				uni.hideLoading();
			}, 600)

			uni.$on('updateSendProjectsList', () => {
				if (this.page > 1) {
					--this.page;
				}

				this.isShowMsg = false;

				this.getNewJobs();
			})
		},
		methods: {
			async loadData() {
				this.page = 1;
				this.getNewJobs();
			},
			async version(id) {
				this.status = id;
				switch (id) {
					case '0':
						this.active1 = true;
						this.active2 = false;
						this.active3 = false;
						this.active4 = false;
						this.active5 = false;
						break;
					case '10':
						this.active1 = false;
						this.active2 = true;
						this.active3 = false;
						this.active4 = false;
						this.active5 = false;
						break;
					case '20':
						this.active1 = false;
						this.active2 = false;
						this.active3 = true;
						this.active4 = false;
						this.active5 = false;
						break;
					case '30':
						this.active1 = false;
						this.active2 = false;
						this.active3 = false;
						this.active4 = true;
						this.active5 = false;
						break;
						// case '40':
						// 	this.active1 = false;
						// 	this.active2 = false;
						// 	this.active3 = false;
						// 	this.active4 = false;
						// 	this.active5 = true;
						// 	break;
				}

				uni.showLoading({
					title: '加载中...'
				});
				this.loadData();
				setTimeout(() => {
					this.isLoaded = true;
					uni.hideLoading();
				}, 600)
			},

			//职位列表
			async getNewJobs() {
				let token = uni.getStorageSync('token');
				let dataObj = {
					page: this.page,
					token: token,
					status: this.status
				}
				let jdata = await this.$myRequest({
					url: '/userJobs',
					data: dataObj,
					methods: 'POST'
				})
				let ndata = jdata.data.data;

				if (this.page === 1) {
					this.jobData = ndata;
					if (ndata.length === 0) {
						if (this.isShowMsg == true) {
							this.$api.msg('亲！暂无数据！！！')
						}
					} else {
						this.page = this.page + 1;
					}
				} else {
					if (ndata.length === 0) {
						if (this.jobData.length === 0) {
							if (this.isShowMsg == true) {
								this.$api.msg('亲！暂无数据！！！')
							}
						} else {
							if (this.isShowMsg == true) {
								this.$api.msg('亲！已经到底了！！！')
							}
						}

					} else {
						this.jobData = [...this.jobData, ...ndata];
						this.page = this.page + 1;
					}
				}
			},

			async checkDetail(id, title) {
				let token = uni.getStorageSync('token')
				let dataObj = {
					token: token,
					job_id: id
				}

				//添加浏览记录
				await this.$myRequest({
					url: '/addBrowseJob',
					data: dataObj,
					methods: 'POST'
				})
				uni.navigateTo({
					url: '/pages1/pages/project-detail/project-detail?id=' + id + '&title=' + title + '详情'
				});
			}
		}
	}
</script>

<style>
	page {
		background-color: #f7f7f7;
		font-size: $font-base;
	}
</style>

<style lang='scss' scoped>
	.order-title-box {
		position: fixed;
		// #ifdef APP-PLUS
		top: 160rpx;
		// #endif

		// #ifdef H5
		top: 100rpx;
		// #endif

		// #ifdef MP-WEIXIN
		top: 160rpx;
		// #endif

		width: 100%;
		background-color: #ffffff;
		font-size: 30rpx;
		z-index: 100;

		.order-title {
			height: 78rpx;
			padding: 18rpx 42rpx 18rpx;
			display: flex;
			justify-content: space-between;

			.order-title-item {
				height: 42rpx;
			}
		}
	}

	.list {
		// #ifdef APP-PLUS
		padding: 253rpx 15rpx 135rpx;
		// #endif

		// #ifdef H5
		padding: 193rpx 15rpx 135rpx;
		// #endif
		
		// #ifdef MP-WEIXIN
		padding: 253rpx 15rpx 135rpx;
		// #endif

		.list-item {
			background-color: #fff;
			display: flex;
			flex-direction: column;
			align-items: center;
			height: 438rpx;
			border-radius: 10rpx;
			margin-bottom: 15rpx;

			.img-wrapper {
				width: 100%;
				height: 286rpx;
				position: relative;
				padding: 27rpx;
				border-bottom: 1px solid #f3f3f6;

				.img-wrapper-header {
					margin-bottom: 27rpx;
					height: 112rpx;
					position: relative;

					.pic {
						width: 112rpx;
						height: 112rpx;
						border-radius: 6upx;
						margin-right: 17rpx;
					}

					.img-wrapper-center {
						max-width: 55%;
						white-space: nowrap;
						overflow: hidden;
						text-overflow: ellipsis;
						height: 112rpx;
						display: inline-block;
						position: absolute;
						line-height: 56rpx;
						font-size: 30rpx;

						.img-wrapper-center-button {
							/* display: inline-block; */
							width: 63rpx;
							height: 39rpx;

							display: flex;
							align-items: center;
						}
					}

					.img-wrapper-right {
						position: absolute;
						top: 0;
						right: 0;
						color: #f3431a;
						font-size: 26rpx;
						line-height: 56rpx;
						height: 56rpx;
					}
				}

				.introduce {
					height: 96rpx;
					display: flex;
					flex-direction: column;
					line-height: 48rpx;
					font-size: $font-base !important;
					overflow: hidden;
					-webkit-line-clamp: 2;
					text-overflow: ellipsis;
					display: -webkit-box;
					-webkit-box-orient: vertical;
					color: #676767;
				}
			}

			.bot {
				display: flex;
				align-items: center;
				justify-content: space-between;
				height: 78rpx;
				font-size: 28upx;
				color: #676767;
				padding: 0 27rpx;
				width: 100%;


				.bot-img-text {
					display: flex;
					align-items: center;
					justify-content: space-between;
					max-width: 360rpx;

					.bot-img {
						height: 28rpx;
						width: 26rpx;
						margin-right: 14rpx;

					}

					.bot-text {
						max-width: 320rpx;
						display: inline-block;
						white-space: nowrap;
						overflow: hidden;
						text-overflow: ellipsis;
					}
				}

			}

			.bot1 {
				display: flex;
				align-items: center;
				justify-content: center;
				height: 78rpx;
				font-size: 28upx;
				color: #676767;
				padding: 0 27rpx;
				width: 100%;
			}
		}
	}

	.active {
		color: #f3431a !important;
		border-bottom: 1px solid #f3431a;
	}

	.empty {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);

		.empty-img {
			width: 182rpx;
			height: 182rpx;
		}
	}
</style>
